/*
 * Copyright (c) 2017. danlu.com Co.Ltd. All rights reserved.
 */

package cn.com.dhc.danlu.activity.delivery.order.bean;

import cn.com.dhc.danlu.activity.delivery.order.decorate.OrderVisitable;
import cn.com.dhc.danlu.activity.delivery.order.typefactory.IOrderTypeFactory;

/**
 * author: wuhaiyang(<a href="mailto:wuhaiyang@danlu.com">wuhaiyang@danlu.com</a>)<br/>
 * version: 1.0.0<br/>
 * since: 2017-02-15 下午5:34<br/>
 * <p>
 * <p>
 * </p>
 */
public class BaseHolderBean extends OrderVisitable {
    private String orderNo;
    // 以下字段只有OrderFuncBean 和 OrderStatusBean 用
    // 交易号
    private String paymentNo;
    private int goodsLength;
    // 支付类型 1-在线支付 2-货到付款 3-公司转帐
    private String payType;
    // 显示 取消交易 按钮
//    private String paymentOrderButtomList;
    // buttomList 为买家/卖家小订单下应该有的按钮列表 结构为 010101 一共五位数
    // 第一位 0-没有付款按钮 1-有付款按钮
    // 第二位 0-没有发货按钮 1-有发货按钮
    // 第三位 0-没有收货按钮 1-有收货按钮
    // 第四位 0-没有取消按钮 1-有在线支付未付款订单取消按钮(取消交易) 2-有货到付款未发货订单取消按钮(取消交易) 3-有货到付款已发货订单取消按钮(申请取消) 4-有交易取消中标签(交易取消中) 5-有在线支付已付款订单/待收货订单取消按钮(退款取消)
    // 第五位 0-没有接受/拒绝取消按钮 1-有接受/拒绝取消按钮
    // 第六位 0-没有订单跟踪按钮 1-有订单跟踪按钮
    // 第七位 0-没有订单改价按钮 1-有订单改价按钮
    // 第八位 0-没有订单拆分按钮 1-有订单拆分按钮
    // 第九位 0-没有查看拆分按钮 1-有查看拆分按钮
    private String buttomList;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getPaymentNo() {
        return paymentNo;
    }

    public void setPaymentNo(String paymentNo) {
        this.paymentNo = paymentNo;
    }

    public int getGoodsLength() {
        return goodsLength;
    }

    public void setGoodsLength(int goodsLength) {
        this.goodsLength = goodsLength;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

//    public String getPaymentOrderButtomList() {
//        return paymentOrderButtomList;
//    }
//
//    public void setPaymentOrderButtomList(String paymentOrderButtomList) {
//        this.paymentOrderButtomList = paymentOrderButtomList;
//    }

    public String getButtomList() {
        return buttomList;
    }

    public void setButtomList(String buttomList) {
        this.buttomList = buttomList;
    }

    @Override
    public String getImpOrderNo() {
        return orderNo;
    }

    @Override
    public int type(IOrderTypeFactory factory) {
        return factory.type(this);
    }
}
